The design process and its management: theory and practice. Hierarchical design. Computer representation of digital systems: schematics and hardware description languages, behavioural description and register transfer logic. Introduction to VHDL. System and subsystem simulation. Design verification. Functional testing and test vector generation. Fault simulation and fault grading. Automatic system partitioning and logic synthesis. Application-specific integrated circuit (ASIC) design flows. -- Course Website